Alt text

La qualité d'un logiciel passe par les tests et idéalement ceux-ci sont automatisés car réaliser les tests à la main est fastidieux et coûteux.

La portée de ce tutorial se concentre sur la mise en place de tests unitaires et les tests d'intégration ne seront donc pas abordé ici.

Pour pouvoir facilement tester un projet MAUI, il faut commencer par le découper en 2 parties sinon lorsqu'on veut tester du code, il y aura des problèmes d'initialisation...

On aura donc les 2 projets suivants:

  1. L'application en tant que telle (MauiAPP)
  2. Le reste

Ajout d'un projet de type "librairie"

Ajouter un projet

Alt text

Choisir le bon type

Alt text

À la fin, un nouveau projet fait partie de la solution:

Alt text

Ajout de la référence à partir du projet principal

Maintenant que la solution comporte 2 projets, il faut référencer la librairie à partir du projet principal:

Attention: modifier le PROJET PRINCIPAL (pas la lib)

Alt text

Ajouter la lib comme référence

Alt text

Optionnellement, optimiser la compilation de la lib

Alt text

Déplacement des classes

À partir de là, les éléments peuvent être migrés:

Ajouter le dossier ViewModels

Alt text

Alt text

Déplacer une classe VM

Alt text

OOps, petit problème

Alt text

Ajout du toolkit pour le projet lib

Alt text

Suppression de l'original

Alt text

Déplacement d'un XAML

Alt text

Suppresion du XAML original

À toi de jouer ;-)

Mise à jour du XMLNS

Il reste une petite adaptation à faire car actuellement le shell est défini dans le projet principal alors que la page MVVM1 a été déplacée dans le projet de librairie.

Il faut donc ajuster cela:

Ajouter un namespace pour la libAlt text

L'utiliserAlt text

Tout est désormais prêt pour tester le ViewModel déplacé dans le projet de librairie.

Génération automatique

VisualStudio propose un assistant pour créer un test unitaire, voici donc comment l'utiliser:

Identifier la méthode à tester

Faire un clic droit sur la méthode
Alt text

Oops

Alt text

Correction et deuxième essai

Alt text

Paramètres

Les paramètres proposés peuvent être laissés tels quels
Alt text

Vérification du projet généré

Alt text

Correction du projet auto-généré

Une erreur s'est glissée lors de la création automatique du projet, en effet, le premier build de l'application est pour Android et cela ne fonctionne pas pour tester le code C# pur.

Il faut donc corriger le TargetFramework du fichier .csproject du projet de test, par exemple en faisant un double-clic sur le projet :

Alt text

Et en corrigeant ainsi

Alt text

On peut maintenant enfin coder la validation de la méthode

Arrange Act Assert

Pour rappel, un test suit une structure AAA, voici donc comment cela se reflète dans le code:

Alt text

Lancer le test

Il y a plusieurs manières:

Clic droit sur la méthode de test

Alt text

Menu Test

Alt text

Ligne de commande

dotnet test

Alt text

Résultat

Alt text

Suite à cet exercice, les compétences suivantes ont été travaillées: